/*
 *  Copyright 2015 the original author or authors. 
 *  @https://github.com/scouter-project/scouter
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"); 
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License. 
 */

package scouter.lang;

import scouter.util.StringEnumer;
import scouter.util.StringIntLinkedMap;

public class AlertLevel {

	public final static byte INFO = 0;
	public final static byte WARN = 1;
	public final static byte ERROR = 2;
	public final static byte FATAL = 3;

	public static String getName(byte k) {
		switch (k) {
		case INFO:
			return "INFO";
		case WARN:
			return "WARN";
		case ERROR:
			return "ERROR";
		case FATAL:
			return "FATAL";
		default:
			return "INFO";
		}
	}

	private static StringIntLinkedMap nameList = new StringIntLinkedMap();
	static{
		nameList.put("INFO",INFO);
		nameList.put("WARN",WARN);
		nameList.put("ERROR",ERROR);
		nameList.put("FATAL",FATAL);
	}
	public static byte getValue(String name) {
		return (byte)nameList.get(name);
	}

	public static StringEnumer names() {
		return nameList.keys();
	}

}